Fix the synchronization issues between xend and the device model at
startup time.
Initialize the shared page in the hypervisor. Otherwise, the hypervisor
might try to inject spurious interrupts into the guest due to
uninitialized data.
Signed-off-by: Xin B Li <xin.b.li@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
Signed-off-by: ian@xensource.com
// wxWindows under win32.
int main (int argc, char *argv[])
{
+ daemon(0, 0);
bx_startup_flags.argc = argc;
bx_startup_flags.argv = argv;
#if BX_WITH_SDL && defined(WIN32)
shared_page = xc_map_foreign_range(xc_handle, domid, PAGE_SIZE,
PROT_READ|PROT_WRITE,
page_array[nr_pages - 1]);
-
- /* Initialize shared page */
- memset(shared_page, 0, PAGE_SIZE);
}
#endif // #if BX_PROVIDE_CPU_MEMORY
+ " -f %s" % device_config
+ " -d %d" % self.dom
+ " -p %d" % device_channel['port1']
- + " -m %s &" % memory)
+ + " -m %s" % memory)
return deferred
def device_create(self, dev_config):
mpfn = phys_to_machine_mapping(gpfn);
p = map_domain_mem(mpfn << PAGE_SHIFT);
ASSERT(p != NULL);
+
+ /* Initialise shared page */
+ memset(p, 0, PAGE_SIZE);
+
d->arch.arch_vmx.vmx_platform.shared_page_va = (unsigned long) p;
return 0;